//axios的核心js文件：创建实例，对这个axios实例进行设置
//1.参数
//2.拦截器配置：请求拦截和响应拦截

//导入axios组件
import axios from "axios"

//创建axios实例
const instance = axios.create({
    //baseURL: 'https://some-domain.com/api/', //url前缀
    timeout: 3000,//超时时间
    //headers: {'token': 'asdasdaw213124sacacsacs'} //请求头，
})
// todo 拦截器

// 添加请求拦截器
instance.interceptors.request.use((config)=> {
    // 在发送请求之前做些什么 jwT
    config.headers['token'] = '1234356987fdsbcdnjvascdGEYW';
    return config;

}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});


// 添加响应拦截器
instance.interceptors.response.use( (response)=> {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    return response.data;//直接返回data
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
});

//导出实例，为了外部使用
export default instance